package xdpm.nhom16.GUI;

import java.util.ArrayList;
import java.util.Hashtable;
import java.util.Enumeration;

public class NewHashTable {
   
	private Hashtable<String, Integer> hashtable;
	private int elements;
	
	public NewHashTable(int elements){
		/* constructs a new empty hashtable with default initial capacity */
		hashtable = new Hashtable<String, Integer>();
		this.elements = elements;
	}
	
	public ArrayList<String> getHash(ArrayList<String> list){
		return list;
	}

	public void putToHashTable(String item, int size){
		for (int i = 0; i < size; i++){
			hashtable.put(item, new Integer(i % elements));
		}
	}
	
	public int getSize(){
		return hashtable.size();
	}
	
	public boolean containsKey(String item){
		return hashtable.containsKey(item);
	}
	
	public boolean containsValue(int item){
		return hashtable.contains(item);
	}
	
	
	public Integer getValue (String key){
		return (Integer) hashtable.get(key);
	}
}
	
	
	
/*	public void putToHashTable1(ArrayList<String> list){
           
            /*
            To specify initial capacity, use following constructor        
            Hashtable hashtable = new Hashtable(100);
           
            To create hashtable from map use following constructor        
            Hashtable hashtable = new Hashtable(Map myMap);
           
             */
           
            /*
            IMPORTANT : We CAN NOT add primitives to the Hashtable. We have to wrap it into one
            of the wrapper classes before adding.
            */
           
            /*
           
            To copy all key - value pairs from Map to Hashtable use putAll method.
           
            Signature of putAll method is,        
            void putAll(Map m)
           
            */
           
            //get number of keys present in the hashtable
      //      System.out.println("Hashtable contains " + hashtable.size() + " key value pairs.");
           
            /*
           
            To check whether Hashtable is empty or not, use isEmpty() method.        
            isEmpty() returns true is Hashtable is empty, otherwise false.
           
            */
           
            /*
           
            Finding particular value from the Hashtable :
           
            Hashtable's contains method returns boolean depending upon the presence of the value in given hashtable
           
            Signature of the contains method is,        
            boolean contains(Object value)
           
            */
           
   /*         if( hashtable.contains(new Integer(1))){
                System.out.println("Hashtable contains 1 as value");
            }else{
                System.out.println("Hashtable does not contain 1 as value");
            }
           */
            /*
           
            Finding particular Key from the Hashtable :
           
            Hashtable's containsKey method returns boolean depending upon the presence of the
            key in given hashtable
           
            Signature of the method is,        
            boolean containsKey(Object key)
           
            */
           
    /*        if(hashtable.containsKey("One")){
                System.out.println("Hashtable contains One as key");
            }else{
                System.out.println("Hashtable does not contain One as value");
            }
           */
            /*
           
            Use get method of Hashtable to get value mapped to particular key.
           
            Signature of the get method is,        
            Object get(Object key)
           
            */
           
      /*      Integer one = (Integer) hashtable.get("One");
           
            System.out.println("Value mapped with key \"One\" is " + one);*/
           
            /*
            IMPORTANT:  get method returns an Object, so we need to downcast it.
            */
           
            /*
           
            To get all keys stored in Hashtable use keys method.
           
            Signature of the keys method is,        
            Enumeration keys()
           
            To get Set of the keys use keySet() method instead.        
            Set keySet()
           
            */
           
  /*          System.out.println("Retrieving all keys from the Hashtable");
           
            Enumeration e = hashtable.keys();
           
            while( e. hasMoreElements() ){        
                System.out.println(e.nextElement());
            }*/
           
            /*
           
            To get all values stored in Hashtable use elements method.
           
            Signature of the elements method is,        
            Enumeration elements()
           
            To get Set of the values use entrySet() method instead.        
            Set entrySet()
           
            */
           
   /*         System.out.println("Retrieving all values from the Hashtable");
           
            e = hashtable.elements();
           
            while(e. hasMoreElements()){        
                System.out.println(e.nextElement());    
            }
           
            System.out.println( hashtable.remove("One") + " is removed from the Hashtable.");
           
        }
     
    }*/
